Protesilaos Stavrou [Mon, 9 Nov 2020 16:14:24 +0000 (17:14 +0100)]
Use a separate face for expanded log-view bodies
* lisp/vc/log-view.el (log-view-commit-body): Define new face.
(log-view-toggle-entry-display): Implement 'log-view-commit-body'
face (bug#44424).
Lars Ingebrigtsen [Mon, 9 Nov 2020 15:50:45 +0000 (16:50 +0100)]
Clarify Lisp warning about elements following other expressions
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in
help text (bug#44482).
Eli Zaretskii [Mon, 9 Nov 2020 15:35:52 +0000 (17:35 +0200)]
Fix compilation of image.c on MS-Windows
This is a followup to last change in image.c.
* src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to
call fn_rsvg_handle_get_intrinsic_dimensions.
(svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as
RsvgLength type was not defined before.
Eli Zaretskii [Mon, 9 Nov 2020 14:57:03 +0000 (16:57 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Alan Third [Sat, 31 Oct 2020 15:14:34 +0000 (15:14 +0000)]
Fix crash in ns_mouse_position (bug#44313)
* src/nsterm.m (ns_destroy_window): Close the window before freeing
the frame resources so we don't end up accessing the frame struct
after it's been freed.
Andrii Kolomoiets [Mon, 12 Oct 2020 11:24:25 +0000 (14:24 +0300)]
NS: Make s-<left/right> to move to beginning/end of line
* lisp/term/ns-win.el: Bind 's-<left>' to 'move-beginning-of-line';
bind 's-<right>' to 'move-end-of-line'.
* etc/NEWS: Mention new bindings.
Alan Third [Sun, 25 Oct 2020 15:45:07 +0000 (15:45 +0000)]
Calculate SVG image sizes more accurately (bug#44206)
* src/image.c (svg_css_length_to_pixels): New function.
(svg_load_image): Try more methods to work out the image size.
Harald Jörg [Mon, 9 Nov 2020 14:25:47 +0000 (15:25 +0100)]
cperl-mode: Indentation of ')' follows customisation
* lisp/progmodes/cperl-mode.el (cperl-style-alist): Add
cperl-close-paren-offset to the settings for PBP style.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709):
New test to verify correct indentation of closing parentheses (Bug#19709).
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl:
New test case with code from the bug report.
* test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl:
Add a new test clause for cperl-close-paren-offset.
Akira Kyle [Mon, 9 Nov 2020 13:51:48 +0000 (14:51 +0100)]
Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler
* src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal
handler since glib doesn't (but should) do this.
Copyright-paperwork-exempt: yes
Stefan Kangas [Mon, 9 Nov 2020 10:35:32 +0000 (11:35 +0100)]
Remove test for return value of set-keymap-parent
* test/src/keymap-tests.el
(keymap-keymap-set-parent/returns-parent): Remove test for the return
value of set-keymap-parent. It is not clear that returning the value
is a very good idea.
Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.
Eric Abrahamsen [Mon, 9 Nov 2020 00:32:10 +0000 (16:32 -0800)]
Add more protections to gnus-search query parsing
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If the query is coming in via
the old 'nnir-query-spec key, we know not to parse it.
* lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if
the query was sent in as '(query "query"), and not '(query . "query).
(gnus-search-imap-search-keys): Add x-gm-raw to imap search keys.
(gnus-search-prepare-query): If we know this query should be raw,
don't even try parsing it, as it probably won't work.
Juri Linkov [Sun, 8 Nov 2020 19:45:02 +0000 (21:45 +0200)]
* lisp/progmodes/project.el: Don't truncate the saved project list.
* lisp/progmodes/project.el (project--write-project-list):
Let-bind print-length and print-level to nil to not truncate the
saved project list with unreadable ellipsis.
Eric Abrahamsen [Sun, 8 Nov 2020 16:37:03 +0000 (08:37 -0800)]
Another backwards-compatibility fix for gnus-search
* lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of
the way we've set up the obsolete variable alias for
`nnir-method-default-engines', we may end up with its value in
`gnus-search-default-engines'. Make the check for "old style" values
general, so we catch them no matter where they came from.
Eli Zaretskii [Sun, 8 Nov 2020 14:51:13 +0000 (16:51 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Alan Mackenzie [Sun, 8 Nov 2020 13:28:55 +0000 (13:28 +0000)]
Don't set the selected window to the miniwindow on a frame change.
Intended to fix bug #44502.
* src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which
set the selected window to the minibuffer.
Dmitry Gutov [Sun, 8 Nov 2020 12:29:11 +0000 (14:29 +0200)]
Doc fix
* lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420).
Dmitry Gutov [Sun, 8 Nov 2020 12:02:55 +0000 (14:02 +0200)]
Mention which exact file is already registered
* lisp/vc/vc.el (vc-register):
Mention which exact file is already registered (bug#44420).
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27
f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in...
d4242177da Fix 'send-string-to-terminal' writing very long strings
9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug...
9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind...
f4acd7a924 Split windows evenly when 'min-margins' parameter was set ...
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
; Merge from origin/emacs-27
The following commits were skipped:
0cdd6c9218 Handle Cairo errors in ftcrfont_open
29af10afe8 Backport: Fix exiting the finder-commentary buffer
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27
53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc...
e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
89740e9cb5 Prevent redisplay from moving point behind user's back
5932df7435 Document that the :match function for a widget takes an ex...
1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348)
# Conflicts:
# lisp/international/mule.el
Eric Abrahamsen [Sat, 7 Nov 2020 17:40:40 +0000 (09:40 -0800)]
Various fixes and backward compatibility for gnus-search
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Check for and accept the old
nnir-* spec keys.
* lisp/gnus/gnus-search.el (shared-initialize): Use
generate-new-buffer instead of doing it ourselves.
(gnus-search-server-to-engine): Raise an informative error explicitly
if we can't find a search engine, rather than letting it fall through
to something less helpful.
(gnus-search-make-spec): Add `gnus-search--complete-key-data' to
`completion-at-point-functions' locally, not globally.
Eli Zaretskii [Sat, 7 Nov 2020 15:26:45 +0000 (17:26 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Stefan Monnier [Sat, 7 Nov 2020 15:15:22 +0000 (10:15 -0500)]
* lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings
(lisp--match-hidden-arg): Don't misfire in strings and comments.
Reported by: Andrii Kolomoiets <andreyk.mad@gmail.com>
Mauro Aranda [Sat, 7 Nov 2020 12:53:21 +0000 (09:53 -0300)]
Add test for recent change in enable-theme
* test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings):
Enabling a theme should not change the theme settings, so test for
that. See
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html
Eli Zaretskii [Sat, 7 Nov 2020 10:29:41 +0000 (12:29 +0200)]
Don't leave lock files after 'replace-buffer-contents'
* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
file if no changes have been made. (Bug#44303)
Kazuhiro Ito [Thu, 5 Nov 2020 10:48:08 +0000 (19:48 +0900)]
Fix 'uudecode-decode-region-internal' in multibyte buffers
* lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
inserting the decoded string into a multibyte buffer. Optimize by
working with characters, not strings. (Bug#44411)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 7 Nov 2020 09:19:44 +0000 (11:19 +0200)]
Fix 'send-string-to-terminal' writing very long strings
* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
by blocking SIGIO while 'fwrite' runs. (Bug#44320)
Eli Zaretskii [Sat, 7 Nov 2020 09:10:36 +0000 (11:10 +0200)]
* lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug#44451)
Eli Zaretskii [Sat, 7 Nov 2020 08:57:48 +0000 (10:57 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Earl Hyatt [Wed, 4 Nov 2020 12:26:06 +0000 (07:26 -0500)]
Fix documentation of 'windmove-swap-states-default-keybindings'
* doc/emacs/windows.texi (Window Convenience): Fix description of
'windmove-swap-states-default-keybindings' and related index
entry. (Bug#44441)
Eli Zaretskii [Sat, 7 Nov 2020 08:44:30 +0000 (10:44 +0200)]
; * src/xdisp.c (redisplay_window): Add comment for a recent change.
Eli Zaretskii [Sat, 7 Nov 2020 08:27:15 +0000 (10:27 +0200)]
Fix scrolling problems with misc-fixed fonts under Cairo
* src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the
glyph ascent to a higher value than needed due to floating-point
roundoff errors. (Bug#44284)
Martin Rudalics [Sat, 7 Nov 2020 08:20:14 +0000 (09:20 +0100)]
Split windows evenly when 'min-margins' parameter was set (Bug#44483)
* lisp/window.el (split-window): Make new window inherit any
'min-margins' parameter from WINDOW so that horizontal splits
reliably produce windows of same width (Bug#44483).
Pip Cet [Thu, 22 Oct 2020 11:40:34 +0000 (13:40 +0200)]
Handle Cairo errors in ftcrfont_open
* src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).
(cherry picked from commit
954a4decfcc8e41084789516773b22d0adc11d91)
Stefan Kangas [Sat, 7 Nov 2020 07:20:21 +0000 (08:20 +0100)]
Delete outdated comment about C rewrite in apropos.el
Maybe it made sense to rewrite apropos.el in C for speed in 1991, but
today the speed increase would not outweigh the maintenance burden.
* lisp/apropos.el: Delete outdated comment.
Stefan Kangas [Sat, 7 Nov 2020 06:55:50 +0000 (07:55 +0100)]
Add some more tests for keymap.c
* test/src/keymap-tests.el (keymap-make-keymap)
(keymap-make-sparse-keymap, keymap-keymapp)
(keymap-keymap-parent, keymap-keymap-set-parent/returns-parent)
(keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq)
(keymap-lookup-key, keymap-apropos-internal)
(keymap-apropos-internal/predicate): New tests.
(keymap-tests--make-keymap-test): New defun.
Stefan Kangas [Tue, 3 Nov 2020 00:35:01 +0000 (01:35 +0100)]
Backport: Fix exiting the finder-commentary buffer
Do not merge to master.
* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
buffer. (Bug#44384)
(finder-buffer): New defconst.
(finder-list-keywords): Use above new defconst.
Mattias Engdegård [Fri, 6 Nov 2020 22:02:29 +0000 (23:02 +0100)]
Rectify skip-set argument
* lisp/gnus/gnus-search.el (gnus-search-query-end-of-input):
Remove brackets that don't belong. Found by relint.
Eli Zaretskii [Fri, 6 Nov 2020 20:13:50 +0000 (22:13 +0200)]
; * lisp/international/mule.el (define-coding-system): Doc fix.
Mattias Engdegård [Fri, 6 Nov 2020 16:10:55 +0000 (17:10 +0100)]
Fix javac message parsing column number off-by-one
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
'javac': Column numbers are 1-based by default; remove subtraction and
η-reduce. Translate regexp to rx (mechanised).
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Adapt 'javac' test cases to the change.
Glenn Morris [Fri, 6 Nov 2020 16:00:54 +0000 (08:00 -0800)]
Fix --enable-check-lisp-object-type build
* src/print.c (syms_of_print) <print-integers-as-characters>:
Fix type.
Mattias Engdegård [Fri, 6 Nov 2020 14:37:17 +0000 (15:37 +0100)]
Update gdb-mi-tests
* test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value):
Make test pass after the change in gdb-mi-decode-strings default value.
Mattias Engdegård [Fri, 6 Nov 2020 12:43:53 +0000 (13:43 +0100)]
* lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type.
A more precise type is desirable but at it is now correct ('list' is not).
Mattias Engdegård [Sat, 31 Oct 2020 13:44:58 +0000 (14:44 +0100)]
Change the default value of gdb-mi-decode-strings to t (bug#44173)
This is likely to be a more commonly wanted default value today.
* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default.
* doc/emacs/building.texi (Source Buffers): Update manual.
* etc/NEWS: Announce.
Mattias Engdegård [Mon, 2 Nov 2020 22:37:16 +0000 (23:37 +0100)]
Reduce integer-output-format to print-integers-as-characters
The variable now only controls whether characters are printed, not
the radix. Control chars are printed in human-readable syntax
only when special escapes such as ?\n are available. Spaces,
formatting and combining chars are excluded (bug#44155).
Done in collaboration with Juri Linkov.
* src/character.c (graphic_base_p):
* src/print.c (named_escape): New functions.
(print_object): Change semantics as described above.
(syms_of_print): Rename integer-output-format. Update doc string.
* doc/lispref/streams.texi (Output Variables):
* etc/NEWS:
* test/src/print-tests.el (print-integers-as-characters):
Rename and update according to new semantics. The test now passes.
Mauro Aranda [Fri, 6 Nov 2020 12:34:08 +0000 (09:34 -0300)]
Go back to not using custom-push-theme when enabling a theme
* lisp/custom.el (enable-theme): Relying on custom-push-theme to
handle theme settings and prior user settings was a mistake. The
theme settings haven't changed between loading the theme and enabling
it, so we don't need all of what custom-push-theme does. However, we
still need to save a user setting outside of Customize, in order to be
able to get back to it, so do that in enable-theme itself.
Eli Zaretskii [Fri, 6 Nov 2020 11:49:07 +0000 (13:49 +0200)]
Improve documentation of a recent change
* doc/emacs/mule.texi (Select Input Method): Add an @anchor.
* doc/emacs/search.texi (Special Isearch): Add cross-reference and
improve wording.
Juri Linkov [Fri, 6 Nov 2020 08:31:58 +0000 (10:31 +0200)]
Support transient input methods in Isearch mode (bug#44266)
* doc/emacs/mule.texi (Select Input Method): Rename
transient-input-method to activate-transient-input-method.
* doc/emacs/search.texi (Special Isearch):
Document isearch-transient-input-method.
* lisp/international/isearch-x.el (isearch-transient-input-method):
New function.
(isearch-process-search-multibyte-characters):
Call 'deactivate-transient-input-method' after 'read-string'.
* lisp/international/mule-cmds.el (mule-menu-keymap): Remove
duplicate menu item 'describe-input-method'. Add new menu item
'activate-transient-input-method'.
(default-transient-input-method): Rename from transient-input-method.
(current-transient-input-method)
(previous-transient-input-method): New buffer-local variables.
(deactivate-input-method): Don't add
current-transient-input-method to input-method-history.
(toggle-input-method): Call deactivate-transient-input-method
when current-transient-input-method is non-nil.
(activate-transient-input-method): Rename from transient-input-method.
(deactivate-transient-input-method): New function with body from
renamed function transient-input-method.
* lisp/isearch.el (isearch-menu-bar-map): Add new menu item
'isearch-transient-input-method'.
(isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method.
(isearch-forward): Add isearch-transient-input-method to docstring.
(isearch-message-prefix): Use shorter string for narrowed buffer.
Eli Zaretskii [Fri, 6 Nov 2020 05:51:07 +0000 (07:51 +0200)]
; * etc/NEWS: Fix wording in a recently added entry.
Stefan Kangas [Fri, 6 Nov 2020 03:45:26 +0000 (04:45 +0100)]
Add more tests for where-is-internal
* test/src/keymap-tests.el (keymap-where-is-internal)
(keymap-where-is-internal/firstonly-t)
(keymap-where-is-internal/menu-item)
(keymap-where-is-internal/advertised-binding)
(keymap-where-is-internal/advertised-binding-respect-remap)
(keymap-where-is-internal/remap)
(keymap-where-is-internal/shadowed): New tests.
(keymap-where-is-internal/preferred-modifier-is-a-string):
Rename from keymap-where-is-internal-test.
Eric Abrahamsen [Thu, 5 Nov 2020 05:13:03 +0000 (21:13 -0800)]
Fixes and improvements to gnus-search
* lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type
from a list of two-element lists, to alist. This matches nnir's old
option type, and should make transition easier.
(nnir-imap-default-search-key): Note that variable is obsolete.
(gnus-search-transform-expression): Interpret the "attachment" key as
"body" in imap searches. Allow specifying larger/smaller message size
values in KB or MB units.
(gnus-search-server-to-engine): Fix error in this function, and
clarify somewhat.
Katsumi Yamaoka [Thu, 5 Nov 2020 22:32:09 +0000 (22:32 +0000)]
* doc/misc/gnus.texi (Selection Groups): Delete excessive paren
Mauro Aranda [Thu, 5 Nov 2020 21:56:29 +0000 (18:56 -0300)]
Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398)
* lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the
Revert... menu button.
(custom-reset-menu): Keep for backward compatibility, but default to
nil, so we prefer the keymap menu instead.
(custom-reset): Pass the new keymap menu to widget-choose.
(custom-commands): Add an element to each list item, to manage its
enable/disable state. Add docstring.
(custom-command-buttons): New variable, to hold the buttons that act
on all options in a Custom buffer.
(custom-buffer-create-internal): When creating the command buttons,
add the optional :notify function to enable/disable them. Add the
buttons to the new variable custom-command-buttons.
(customize-menu-create): Notify the command buttons after creating the
Custom buffer, so they are correctly enabled/disabled.
(custom-redraw-magic, custom-notify): Notify the command buttons and
update the tool bar when changing a widget to the modified state.
Basil L. Contovounesios [Thu, 5 Nov 2020 21:06:39 +0000 (21:06 +0000)]
Fix coding system in eww-display-pdf
* lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte
before populating it to avoid conversions. The binding for
coding-system-for-write is then no longer necessary, and can be
delegated to the viewer invoked by mailcap-view-mime. Suggested by
Stefan Monnier <monnier@iro.umontreal.ca>. (Bug#44338)
Philipp Stephani [Thu, 5 Nov 2020 20:11:14 +0000 (21:11 +0100)]
* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison
Alan Mackenzie [Thu, 5 Nov 2020 19:27:43 +0000 (19:27 +0000)]
Allow minibuffer to stay in its original frame. Tidy up this area.
* doc/emacs/mini.texi (Basic Minibuffer): Add an entry for
minibuffer-follows-selected-frame.
* doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to
minibufferp, LIVE.
* etc/NEWS: Add an entry describing the new minibuffer strategy.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for
minibuffer-follows-selected-frame.
* lisp/minibuffer.el (minibuffer-message): Check for the current buffer being
an _active_ minibuffer rather than merely a minibuffer.
* src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame.
* src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and
is_minibuffer.
* src/minibuf.c (minibuf_follows_frame): New function which ignores local and
let-bound values of minibuffer-follows-selected-frame.
(choose_minibuf_frame): Reformulate this function to reuse a minibuffer window
where possible, and to ensure no other frame has its minibuffer current, but
only when `minibuffer-follows-selected-frame'.
(move_minibuffer_onto_frame): New function.
(live_minibuffer_p): New function.
(Fminibufferp): Add a new &optional parameter LIVE. Reformulate, possibly
calling live_minibuffer_p.
(read_minibuf): move the incrementation of minibuf_level to before the call of
choose_minibuf_frame. Empty the miniwindows of frames without an active
minibuffer, rather than of all but the current frame.
(is_minibuffer): New function.
(read_minibuf_unwind): Note the miniwindow being restored and resize all other
miniwindows to zero size.
(minibuffer-follows-selected-frame): New configuration variable.
* src/window.c (candidate_window_p): In some scenarios, check the miniwindow
holds an active minibuffer.
* src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active
miniwindows, regardless of minibuf_level.
Eli Zaretskii [Thu, 5 Nov 2020 17:46:50 +0000 (19:46 +0200)]
* src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
Basil L. Contovounesios [Tue, 3 Nov 2020 22:54:34 +0000 (22:54 +0000)]
Improve eww support for externally viewed PDFs
The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
e.g., with doc-view-mode. External PDF viewers are called with a
temporary file, so the buffer is not needed in that case. What's
more, mailcap-view-mime erased the buffer and left it in
fundamental-mode until now, so the user was left staring at a
useless, empty buffer. To make things even worse, external viewers
were invoked synchronously until now, so the user could not browse
the PDF file and use Emacs simultaneously.
* lisp/net/mailcap.el (mailcap--async-shell): New function.
(mailcap-view-mime): Use it to invoke external viewers
asynchronously. Mention erasure of current buffer in that case in
docstring. Add a period between the temporary file name and its
extension.
* lisp/net/eww.el (eww-display-pdf): Simplify using
insert-buffer-substring. Fix coding-system-for-write for a stream
of raw bytes. Pop to *eww pdf* buffer only if it is used for
displaying a document; otherwise kill it. (bug#44338)
Stefan Kangas [Thu, 5 Nov 2020 17:23:56 +0000 (18:23 +0100)]
; Silence byte-compiler warnings in tests
* test/lisp/emacs-lisp/easy-mmode-tests.el (easy-mmode--minor-mode):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Silence byte-compiler.
Michael Albinus [Thu, 5 Nov 2020 16:36:04 +0000 (17:36 +0100)]
Still fixes for Tramp directory-files-*
* lisp/net/tramp.el (tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes): Fix COUNT.
* lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files):
Implement COUNT.
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Use `nbutlast'.
* lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file): Reorder cache flushing.
(tramp-rclone-handle-directory-files):
Use `tramp-compat-directory-files'.
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Fix NOSORT and COUNT.
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT.
* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
(tramp-test05-expand-file-name-relative): Use it.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Strengthen test.
(tramp-test20-file-modes): Simplify check.
Lars Ingebrigtsen [Tue, 3 Nov 2020 14:50:44 +0000 (15:50 +0100)]
Let pdf-view-mode take precedence over doc-view-mode
* lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let
pdf-view-mode take precedence, since it's an optional package
(bug#44338).
Stefan Kangas [Thu, 5 Nov 2020 14:42:26 +0000 (15:42 +0100)]
; Silence byte-compiler warning in xdisp-tests.el
* test/src/xdisp-tests.el (xdisp-tests--minibuffer-scroll): Silence
byte-compiler.
Basil L. Contovounesios [Thu, 29 Oct 2020 22:48:12 +0000 (22:48 +0000)]
Sync biblatex entries and fields with v3.15
* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix
abbreviation of PhD.
(bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync
standard entry and field types with those described in the biblatex
v3.15 manual of 2020-08-19 (bug#44322).
Stephen Berman [Wed, 4 Nov 2020 22:52:21 +0000 (23:52 +0100)]
Improve display of tabulated list header line labels (bug#44068)
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Ensure sort indicator appears after the label of any selected
sortable column that is wide enough and enable label truncation
when narrowing a column.
* lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column
alignment.
(timer-list--function-predicate): Correct typo in doc string.
Eli Zaretskii [Wed, 4 Nov 2020 20:10:06 +0000 (22:10 +0200)]
Prevent redisplay from moving point behind user's back
* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
Bind inhibit-quit to a non-nil value around calls to
fast_looking_at, to prevent breaking out of redisplay_window,
which temporarily moves point in buffers shown in non-selected
windows. (Bug#44448)
Stefan Monnier [Wed, 4 Nov 2020 18:44:51 +0000 (13:44 -0500)]
* src/term.c (handle_one_term_event): Simplify.
Remove the `hold_quit` argument which was never used.
Streamline the control flow.
Thanks to Jared Finder <jared@finder.org> for pointing it out.
* src/keyboard.c (tty_read_avail_input): Simplify accordingly.
Eric Abrahamsen [Wed, 4 Nov 2020 06:31:42 +0000 (22:31 -0800)]
Avoid use of eieio-oset-default
* lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot
definition. `symbol-value' is necessary, otherwise the defclass macro
will treat the option as a quoted symbol.
Stefan Monnier [Wed, 4 Nov 2020 16:37:00 +0000 (11:37 -0500)]
* lisp-mode.el: Fix missing highlight of "hidden" string arg
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it
already has another face.
Manuel Uberti [Wed, 4 Nov 2020 14:41:53 +0000 (15:41 +0100)]
* lisp/progmodes/project.el (project--files-in-directory): Fix formatting
Copyright-paperwork-exempt: yes
Stefan Kangas [Wed, 4 Nov 2020 14:50:52 +0000 (15:50 +0100)]
Use lexical-binding in mule-charsets.el
* admin/charsets/mule-charsets.el: Use lexical-binding.
(mule-charsets-header): Rename from 'header' to silence byte-compiler.
Reuben Thomas [Wed, 4 Nov 2020 08:50:25 +0000 (08:50 +0000)]
Remove unused variable in ispell.el (thanks, Stefan Kangas)
* lisp/textmodes/ispell.el (ispell-check-version): Remove unused
variable `speller'.
Stefan Kangas [Wed, 4 Nov 2020 06:40:16 +0000 (07:40 +0100)]
Fix warnings in url-irc.el
* lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name):
Declare to fix warnings.
(url-irc-rcirc): Silence warning by adding missing password argument
to rcirc-connect.
Stefan Kangas [Wed, 4 Nov 2020 06:12:21 +0000 (07:12 +0100)]
* lisp/obsolete/nnir.el: Add "Obsolete-since" header.
Stefan Kangas [Tue, 3 Nov 2020 07:15:39 +0000 (08:15 +0100)]
* lisp/cedet/srecode.el: Use lexical-binding.
Stefan Monnier [Wed, 4 Nov 2020 05:24:45 +0000 (00:24 -0500)]
Fix misuses of `make-local-variable` on hooks
* lisp/vc/smerge-mode.el (smerge-ediff):
* lisp/progmodes/python.el (python-pdbtrack-setup-tracking):
* lisp/net/tramp-smb.el (tramp-smb-call-winexe):
* lisp/net/secrets.el (secrets-mode):
* lisp/mail/rmail.el (rmail-variables):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`.
* lisp/eshell/em-unix.el (eshell/diff):
* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't
`make-local-variable` on hooks.
Eric Abrahamsen [Sun, 1 Nov 2020 01:30:57 +0000 (18:30 -0700)]
Remove gmane search engine
Remove the gnus-search-gmane class and all associated methods. If
search functionality is ever resurrected, then revert this commit.
* lisp/gnus/gnus-search.el: Delete code, and remove from default value
of `gnus-search-default-engines'.
Eric Abrahamsen [Fri, 16 Oct 2020 16:34:06 +0000 (09:34 -0700)]
Move nnir.el to lisp/obsolete
* lisp/obsolete/nnir.el: This is no longer used, but users might still
be requiring it.
Eric Abrahamsen [Thu, 15 Oct 2020 04:39:46 +0000 (21:39 -0700)]
New gnus-search library
This library provides a fundamental reworking of the search
functionality previously found in nnir.el. It uses class-based search
engines to interface with external searching facilities, and a parsed
search query syntax that can search multiple engines.
* lisp/gnus/gnus-search.el: New library containing search
functionality for Gnus.
* doc/misc/gnus.texi: Document.
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Remove references to nnir,
change meaning of prefix argument, change values of nnselect-function
and nnselect-args.
* lisp/gnus/nnselect.el: Replace references to nnir
(nnselect-request-article): Use gnus-search functions, and search
criteria.
(nnselect-request-thread, nnselect-search-thread): Use gnus-search
thread search.
(gnus-summary-make-search-group): Switch to use gnus-search function
and arguments.
* test/lisp/gnus/search-tests.el: Tests for new functionality.
Stefan Monnier [Wed, 4 Nov 2020 04:02:13 +0000 (23:02 -0500)]
* lisp/progmodes/tcl.el: Use lexical-binding
Remove redundant `:group` args.
Eli Zaretskii [Tue, 3 Nov 2020 19:48:23 +0000 (21:48 +0200)]
Fix last change
* lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc
string.
Juri Linkov [Tue, 3 Nov 2020 19:06:11 +0000 (21:06 +0200)]
Horizontal mouse wheel scrolling amount (bug#43568)
* lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom.
(mwheel-scroll): Use it.
* doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal
scrolling step.
Michael Albinus [Tue, 3 Nov 2020 17:47:32 +0000 (18:47 +0100)]
Some Tramp fixes for directory-files-* and delete-*
* lisp/files.el (delete-directory): Simplify check for trash.
* lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH.
* lisp/net/tramp-compat.el (tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes)
(tramp-compat-directory-empty-p): New defaliases.
* lisp/net/tramp.el (tramp-handle-directory-files-and-attributes)
(tramp-skeleton-delete-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them.
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Implement COUNT.
* test/lisp/net/tramp-tests.el (tramp-test14-delete-directory):
Do not run trash test for ange-ftp.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Check COUNT argument.
Reuben Thomas [Mon, 2 Nov 2020 21:45:40 +0000 (21:45 +0000)]
Factor out some common code in ispell.el
* lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add
macro.
(ispell-call-process, ispell-call-process-region): Use it.
Reuben Thomas [Mon, 2 Nov 2020 21:41:05 +0000 (21:41 +0000)]
Simplify ispell-check-version’s use of -vv flag
* lisp/textmodes/ispell.el (ispell-check-version): All supported spell
checker programs accept -vv, including aspell for many years, so use
it.
Harald Jörg [Tue, 3 Nov 2020 14:28:40 +0000 (15:28 +0100)]
cperl-mode: Fix indentation for Emacs 26
* lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix
which is only required for Emacs versions older than 27.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Add a test to verify correct indentation (bug#30393).
Mauro Aranda [Tue, 3 Nov 2020 13:02:51 +0000 (10:02 -0300)]
Fix customizing user options of type face
* lisp/cus-edit.el (face): Move the %f escape after the tag, because
otherwise customizing a face user option doesn't work:
custom-variable-value-create thinks that everything up until the first
":" is part of the tag, and the item widget doesn't know how to handle
the %f escape.
Stefan Kangas [Tue, 3 Nov 2020 03:37:44 +0000 (04:37 +0100)]
Use lexical-binding in some url-*.el files
* lisp/url/url-dired.el:
* lisp/url/url-ftp.el:
* lisp/url/url-irc.el: Use lexical-binding.
Stefan Kangas [Tue, 3 Nov 2020 03:16:03 +0000 (04:16 +0100)]
Use lexical-binding in solitaire.el
* lisp/play/solitaire.el: Use lexical-binding. Remove redundant
:group args.
Stefan Kangas [Tue, 3 Nov 2020 02:55:50 +0000 (03:55 +0100)]
Use lexical-binding in some of emulation/edt*.el
* lisp/emulation/edt-vt100.el:
* lisp/emulation/edt-pc.el:
* lisp/emulation/edt-lk201.el: Use lexical-binding.
Stefan Kangas [Tue, 3 Nov 2020 01:23:46 +0000 (02:23 +0100)]
Use lexical-binding in pcmpl-rpm.el
* lisp/pcmpl-rpm.el: Use lexical-binding. Remove redundant :group
args.
(pcmpl-rpm-packages): Quote function symbol as such.
Stefan Kangas [Tue, 3 Nov 2020 01:06:05 +0000 (02:06 +0100)]
Use lexical-binding in pcmpl-cvs.el
* lisp/pcmpl-cvs.el: Use lexical-binding.
(executable): Remove unnecessary require.
(pcmpl-cvs-binary): Remove redundant :group arg.
(pcmpl-cvs-tags): Quote function symbol as such.
Stefan Kangas [Tue, 3 Nov 2020 01:04:22 +0000 (02:04 +0100)]
; * lisp/pcomplete.el: Fix typo.
Stefan Kangas [Tue, 3 Nov 2020 00:35:01 +0000 (01:35 +0100)]
Fix exiting the finder-commentary buffer
* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
buffer. (Bug#44384)
(finder-buffer): New defconst.
(finder-list-keywords): Use above new defconst.
Harald Jörg [Mon, 2 Nov 2020 22:44:58 +0000 (23:44 +0100)]
cperl-mode: Skip a test for older Emacsen (preparing for ELPA)
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
Skip this test for older Emacsen. The bug has been fixed
in Emacs, but outside of CPerl mode, and therefore will not
be available for older versions via ELPA.
Stefan Kangas [Mon, 2 Nov 2020 18:06:46 +0000 (19:06 +0100)]
Improve ert-resource-directory docstring
* lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve
docstring.
Reuben Thomas [Mon, 2 Nov 2020 22:10:56 +0000 (22:10 +0000)]
Fix previous patch to ispell.el
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod):
with-current-buffer and with-output-to-string need to be the other
way around.
Reuben Thomas [Mon, 2 Nov 2020 21:37:46 +0000 (21:37 +0000)]
Fix previous code change to `ispell--call-enchant-lsmod'
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Restore the
use of with-current-buffer, to avoid enchant-lsmod’s output being
dumped into the current buffer.
Eli Zaretskii [Mon, 2 Nov 2020 19:47:18 +0000 (21:47 +0200)]
Explain last change
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Explain
the workaround with discarding stderr. (Bug#44318)
Reuben Thomas [Mon, 2 Nov 2020 18:06:11 +0000 (18:06 +0000)]
Make ispell.el ignore warnings from enchant-lsmod (closes #44318)
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Don’t capture
stderr. Also remove unnecessary with-current-buffer wrapper.
Mattias Engdegård [Mon, 2 Nov 2020 17:54:14 +0000 (18:54 +0100)]
Add missing argument to directory_files_internal calls
* src/kqueue.c (kqueue_compare_dir_list, Fkqueue_add_watch):
Pass the new seventh argument.